package com.ruoyi.business;

import lombok.Data;

/**
 * @title: PayNotifyRequest
 * @copyright: copyright (c) 2023
 * @author: jiangguanjun
 * @date: 2023/10/23 9:04
 * @firstReview:
 * @lastReview:
 * @desc:
 */
@Data
public class RefundNotifyRequest {

    // 直连商户号
    private String mchid;

    // 商户订单号
    private String out_trade_no;

    // 微信支付订单号
    private String transaction_id;

    // 微信退款单号
    private String refund_id;

    /**
     * 商户退款单号
     */
    private String out_refund_no ;

    // 退款状态，枚举值： SUCCESS：退款成功 CLOSED：退款关闭 ABNORMAL：退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往【商户平台—>交易中心】，手动处理此笔退款
    private String refund_status;


    // 退款成功时间 示例值：2018-06-08T10:34:56+08:00
    private String success_time;

    /**
     * 取当前退款单的退款入账方。 1、退回银行卡：{银行名称}{卡类型}{卡尾号}  2、退回支付用户零钱: 支付用户零钱 3、退还商户: 商户基本账户、商户结算银行账户 4、退回支付用户零钱通：支付用户零钱通
     */
    private String user_received_account ;
    // 订单金额
    private Amount amount;


    @Data
    public static class Amount {
        // 总金额 （单位是分）
        private Integer total;
        // 货币类型 （CHY）
        private Integer refund;
        // 用户实际支付金额，单位为分，只能为整数
        private int payer_total;
        // 退款给用户的金额，不包含所有优惠券金额
        private String payer_refund;
    }
}
